package com.woniuxy.service;

import com.work.framework.pojo.*;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author fengyao
 * @version 1.0
 * @date 2019/9/19 0019 上午 9:39
 */

@Service
public interface GoodsService {

    /**
     * 商品详情返回Goods+Auction
     * @param gid 商品gid
     * @return 返回商品信息Goods和竞拍信息Auction
     */
    GoodsAuctionDTO selectGoodsAndAuctionByGid(Integer gid);

    /**
     * 商品竞拍信息返回
     * @param aid 竞拍信息id
     * @return 返回竞拍信息
     */
    Auction selectAuctionByGid(Integer aid);

    /**
     * 某商品收藏的用户列表
     * @param gid 商品id
     * @return 用户列表
     */
    List<User> selectUsersByGid(Integer gid);

    /**
     * 获取补充图片
     * @param gid 商品id
     * @return 图片地址集合
     */
    List<String> selectOtherPictures(Integer gid);

    /**
     * 获取某商品对商品的展示
     * @param uid 用户id
     * @param gid 商品id
     * @return 返回收藏信息
     */
    Enshrine selectEnshrine(Integer uid,Integer gid);

    /**
     * 添加某商品
     * @param uid
     * @param gid
     */
    void insertEnshrine(Integer uid, Integer gid);

    /**
     * 修改商品收藏状态
     * @param uid
     * @param gid
     */
    void updateEnshrine(Integer uid, Integer gid);

    /**
     * 修改商品id
     * @param count 修改数量
     * @param gid 商品Id
     */
    void updateGoodsEnshrineCount(Integer count,Integer gid);

    /**
     * 修改
     * @param uid 用户id
     * @param gid 商品id
     * @return 影响行数
     */
    void noEnshrine(Integer uid,Integer gid);

    /**
     * 下架商品
     * @param gid 商品id
     */
    void updateAuctionValid(Integer gid);

    /**
     * 修改状态值
     * @param aid
     * @param status
     */
    void updateAuctionStatus(Integer aid,Integer status);

    void insertGoods(Goods goods);
    void insertAuction(Auction auction);
    void insertPicture(Picture picture);

    Integer selectUidByAid(Integer aid);

    GoodsAuctionDTO selectGoodsAuctionDTOByAid(Integer aid);
}
